home *** CD-ROM | disk | FTP | other *** search
Oberon Text | 1996-03-25 | 4.3 KB | 70 lines |
- Syntax10.Scn.Fnt
- ParcElems
- Alloc
- Syntax24b.Scn.Fnt
- Syntax10b.Scn.Fnt
- Syntax10i.Scn.Fnt
- FoldElems
- (* AMIGA *)
- MODULE MoreMath; (* MoreMathL by Christoph Steindl (CS), 11.11.94, AMIGA Ralf Degner (RD) 15.7.95 *)
- IMPORT SYSTEM, Math;
- CONST
- piOver2 = Math.pi / 2;
- PROCEDURE -ulr 04EH, 05EH, 04EH, 075H; (* ULNK A6; RTS *)
- PROCEDURE -ftan
- 0F2H, 02EH, 044H, 00FH, 0000H, 008H; (* FTAN.S (8, A6), FP0 *)
- PROCEDURE -fcot
- (* 1/tan(x) *)
- 0F2H, 000H, 05CH, 032H, (* FMOVECR.X $ 00000032, FP0 *)
- 0F2H, 02EH, 044H, 08FH, 0000H, 008H, (* FTAN.S (8, A6), FP1 *)
- 0F2H, 000H, 004H, 020H; (* FDIV.X FP1, FP0 *)
- PROCEDURE -fasin
- 0F2H, 02EH, 044H, 00CH, 0000H, 008H; (* FASIN.S (8, A6), FP0 *)
- PROCEDURE -facos
- 0F2H, 02EH, 044H, 01CH, 0000H, 008H; (* FACOS.S (8, A6), FP0 *)
- PROCEDURE -ftanh
- 0F2H, 02EH, 044H, 009H, 0000H, 008H, (* FTANH.S (8, A6), FP0 *)
- 04EH, 05EH, 04EH, 075H; (* ULNK A6; RTS *)
- PROCEDURE -fsinh
- 0F2H, 02EH, 044H, 002H, 0000H, 008H; (* FSINH.S (8, A6), FP0 *)
- PROCEDURE -fcosh
- 0F2H, 02EH, 044H, 019H, 0000H, 008H; (* FCOSH.S (8, A6), FP0 *)
- PROCEDURE -fatanh
- 0F2H, 02EH, 044H, 00DH, 0000H, 008H; (* FATANH.S (8, A6), FP0 *)
- PROCEDURE -facoth
- (* atanh(1/x) *)
- 0F2H, 000H, 05CH, 032H, (* FMOVECR.X $ 00000032, FP0 *)
- 0F2H, 02EH, 044H, 020H, 0000H, 008H, (* FDIV.S (8, A6), FP0 *)
- 0F2H, 000H, 000H, 00DH; (* FATANH.X FP0, FP0 *)
- PROCEDURE tan* (x: REAL): REAL;
- BEGIN ftan; ulr END tan;
- PROCEDURE cot* (x: REAL): REAL;
- BEGIN fcot; ulr END cot;
- PROCEDURE arcsin* (x: REAL): REAL;
- BEGIN fasin; ulr END arcsin;
- PROCEDURE arccot* (x: REAL): REAL;
- BEGIN RETURN piOver2 - Math.arctan(x) END arccot;
- PROCEDURE arccos* (x: REAL): REAL;
- BEGIN facos; ulr END arccos;
- PROCEDURE tanh* (x: REAL): REAL;
- BEGIN ftanh; ulr END tanh;
- PROCEDURE sinh* (x: REAL): REAL;
- BEGIN fsinh; ulr END sinh;
- PROCEDURE cosh* (x: REAL): REAL;
- BEGIN fcosh; ulr END cosh;
- PROCEDURE coth* (x: REAL): REAL;
- VAR e1, e2: REAL;
- BEGIN
- e1 := Math.exp(x); e2 := 1 / e1;
- RETURN (e1 + e2) / (e1 - e2)
- END coth;
- PROCEDURE arctanh* (x: REAL): REAL;
- BEGIN fatanh; ulr END arctanh;
- PROCEDURE arcsinh* (x: REAL): REAL;
- BEGIN RETURN arctanh(x / Math.sqrt(1 + x * x)) END arcsinh;
- PROCEDURE arcosh* (x: REAL): REAL;
- BEGIN RETURN arctanh(Math.sqrt(x * x - 1) / x) END arcosh;
- PROCEDURE arcoth* (x: REAL): REAL;
- BEGIN facoth; ulr END arcoth;
- END MoreMath.Mod
-